package com.tengju.bff.interfaces.covercharge.constant;

/**
 * 对枚举数据的定义
 * 
 * @author zhaoyi
 *
 */
public class CoverChargeEnum {
    
    /**
     * 收益账户类型
     * @author     zhaoyi
     */
    public enum ServiceAccountType {

        //CUSTOMER_TYPE(1,"ABM","客户收益账户","偕创"),
        MANAGE_TYPE(2,"DT","管理收益账户","智炬网络");
        
        private Integer code;
        private String platform;
        private String desc;
        private String merchant;

        ServiceAccountType(Integer code,String platform,String desc,String merchant){
            this.code=code;
            this.platform=platform;
            this.desc=desc;
            this.merchant=merchant;
        }

        public String getPlatform() {
            return platform;
        }
        public Integer getCode(){
            return this.code;
        }
        public String getDesc(){
            return this.desc;
        }

        public String getMerchant() {
            return merchant;
        }

        public static ServiceAccountType getServiceAccountTypeByPlatform (String platform){
            for(ServiceAccountType serviceAccountType : (ServiceAccountType.values())){
                if(serviceAccountType.getPlatform().equals(platform)){
                    return serviceAccountType;
                }
            }
            return null;
        }
    }

    /**
     * 认证状态
     * @author     zhaoyi
     */
    public enum AuthStatus {

        NEED_CHECK(0,"待审核"),
        PASS(1,"通过"),
        REFUSE(2,"拒绝"),
        END(3,"终止");

        private Integer code;
        private String desc;

        AuthStatus(Integer code,String desc){
            this.code=code;
            this.desc=desc;
        }

        public Integer getCode(){
            return this.code;
        }
        public String getDesc(){
            return this.desc;
        }
    }

    /**
     * 冻结状态
     * @author     zhaoyi
     */
    public enum FreezeStatus {

        FREEZE(1,"冻结"),
        UN_FREEZE(2,"解冻");

        private Integer code;
        private String desc;

        FreezeStatus(Integer code,String desc){
            this.code=code;
            this.desc=desc;
        }

        public Integer getCode(){
            return this.code;
        }
        public String getDesc(){
            return this.desc;
        }
    }

    /**
     * 发票类型
     * @author     zhaoyi
     */
    public enum InvoiceType {

        SPECIAL(1,"增值税专用发票"),
        NORMAL(2,"增值税普通发票");

        private Integer code;
        private String desc;

        InvoiceType(Integer code,String desc){
            this.code=code;
            this.desc=desc;
        }

        public Integer getCode(){
            return this.code;
        }
        public String getDesc(){
            return this.desc;
        }
    }

    /**
     * 通用状态
     * @author     zhaoyi
     */
    public enum CommonStatus {

        NO(0,"no","否"),
        YES(1,"yes","是");

        private Integer code;
        private String name;
        private String desc;

        CommonStatus(Integer code,String name,String desc){
            this.code=code;
            this.name=name;
            this.desc=desc;
        }

        public String getName() {
            return this.name;
        }
        public Integer getCode(){
            return this.code;
        }
        public String getDesc(){
            return this.desc;
        }
    }

    /**
     * 删除标识
     * @author     zhaoyi
     */
    public enum DelFlag {

        NOT_DEL(0,"未删除"),
        DEL(1,"已删除");

        private Integer code;
        private String desc;

        DelFlag(Integer code,String desc){
            this.code=code;
            this.desc=desc;
        }

        public Integer getCode(){
            return this.code;
        }
        public String getDesc(){
            return this.desc;
        }
    }

}
